﻿using System.Collections.Generic;
using Cms.Domain;

namespace Cms.Application.Admin.Views
{
    public interface IEditMenuItemView : IAdminPageView, ITranslatable
    {
        int MenuItemID { get; }

        int MenuID { get; }

        int VersionID { get; }

        int LocaleID { get; }

        int SelectedLocaleID { get; set; }

        int SelectedParentMenuItemID { get; set; }

        string Name { get; set; }

        int SelectedDefaultImageID { get; }

        int SelectedActiveImageID { get; }

        int SelectedDefaultHoverImageID { get; }

        int SelectedActiveHoverImageID { get; }

        MenuItemLinkType LinkTypes { get; set; }

        int SelectedFolderID { get; set; }

        int SelectedPageID { get; set; }

        string Url { get; set; }

        string Target { get; set; }

        int SelectedCategoryID { get; set; }
        void SetLocales(IList<Locale> locales);
        void SetParentMenuItems(string menuName, IList<MenuItem> items);
        void SetDefaultImage(MediaFile file);
        void SetActiveImage(MediaFile file);
        void SetDefaultHoverImage(MediaFile file);
        void SetActiveHoverImage(MediaFile file);
        void SetFolders(string domain, IList<Folder> folders);
        void SetPages(IList<Page> pages);
        void SetCategories(IList<Category> rootCategories);
    }
}